﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using University.Workshop.Business;
using University.Workshop.Model;

namespace University.Workshop.WinApp
{
    public partial class LoginForm : Form
    {
        //añadiendo contador de intentos
        int contador;
        public LoginForm()
        {

            InitializeComponent();
            //inicializando contador(Jorge Valdivia)
            contador = 1;
        }

        private void logInbutton1_Click(object sender, EventArgs e)
        {
            //Modificado Marieta 15 -12-12
            String logAccesos = "LogAccesos.txt";
            
            logManager LogManager = new logManager();
            //Fin
            try
            {
                //Modificado Marieta 15 -12-12
                string userNameForLog = this.UsernametextBox.Text;
                //Fin
                if (LogOnManager.LogOn(UsernametextBox.Text, passwordTextBox.Text))
                {
                    //añadiendo contador de Intentos(Jorge Valdivia)
                    Program.logged = true;
                    
                    //Modificado Por Marieta Para Que funcione el actual user en la pantalla principal
                    Program.actualUser = AdministratorManager.GetAdministratorByUserName(UsernametextBox.Text, passwordTextBox.Text);
                    //Menu menu = new Menu();
                    //menu.Show();
               

                    logManager.EscribirLog("Acceso Correcto al sistema " + Program.actualUser.UserName + " Fecha: " + DateTime.Now.ToShortDateString(), logAccesos);
                    //Fin de modificacion
                    this.Close();
                }
                else
                {
                    //añadiendo contro de cerrar formulario login(jorge valdivia)
                    contador = contador + 1;
                    //Modificado pro marietaPara que se vea La cnatidad de intentos
                    this.labelIntentos.Text = "Este es el " + this.contador + " De 5 Intentos";
                    
                    this.UsernametextBox.Text = "";
                    this.passwordTextBox.Text = "";
                    this.UsernametextBox.Focus();
                    // Fin Modificacion
                    //Escribir en el log de Acceso Marieta
                    logManager.EscribirLog("Intento de Acceso incorrecto al sistema " + userNameForLog+ " Fecha: " + DateTime.Now.ToShortDateString(), logAccesos);
                    //Fin
                }
                if (contador >= 5)
                {
                    //Escribir en el log de Acceso Marieta
                    logManager.EscribirLog("Acceso Bloqueado al sistema " + userNameForLog + " Fecha: " + DateTime.Now.ToShortDateString(), logAccesos);
                    //Fin
                    this.Close();
                    throw new Exception("Tu limite Maximo de intentos es de 5 intente mas tarde");

                }
                //throw new Exception("Username or Password incorrect 1");

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

        }

        private void cancelbutton_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void UsernametextBox_TextChanged(object sender, KeyPressEventArgs e)
        {

        }

        private void LoginForm_Load(object sender, EventArgs e)
        {

        }

        //private void UsernametextBox_KeyPress(object sender, KeyPressEventArgs e)
        //{
        //    foreach (char ch in e.ToString())
        //    {
        //        if (!Char.IsLetter(e.KeyChar) && !Char.IsDigit(e.KeyChar) && e.KeyChar != '\b' && !Char.IsWhiteSpace(e.KeyChar))
        //        {
        //            e.Handled = true;
        //        }
        //    }
        //}
    }

}


